home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group98c.txt
/
000097_icon-group-sender _Mon Dec 7 08:36:33 1998.msg
< prev
next >
Wrap
Internet Message Format
|
2000-09-20
|
13KB
Return-Path: <icon-group-sender>
Received: (from root@localhost)
by baskerville.CS.Arizona.EDU (8.9.1a/8.9.1) id IAA08642
for icon-group-addresses; Mon, 7 Dec 1998 08:36:23 -0700 (MST)
Message-Id: <199812071536.IAA08642@baskerville.CS.Arizona.EDU>
Date: Sat, 05 Dec 1998 13:56:29 -0600
From: MJE <evans@gte.net>
To: icon-group@optima.CS.Arizona.EDU
CC: Ralph Griswold <ralph@optima.CS.Arizona.EDU>, jeffery@cs.utsa.edu,
evans@gte.net
Subject: Past Keyword / Coexpr Help
Errors-To: icon-group-errors@optima.CS.Arizona.EDU
Status: RO
This is a multi-part message in MIME format.
--------------3C6B6947244B
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
It seems that Icon is missing a somewhat important string scanning
mechanism. Second, I need advice about coexpressions. The questions
are related because the scanning mechanism I have in mind would assist
the use of parallel coexpressions.
The scanning mechanism I want would perhaps be called "past", as in
numberchars := (&digits ++ 'e' ++ 'E' ++ '+' ++ '-' ++ '.')
string ?
{
tab(past("substring"))
result := real(tab(many(numberchars)))
}
There is a keyword "match" but that call only works if the substring
exists at the start of "string". What I want is a "past" keyword which
simultaneously finds and skips past a substring. It would be the
converse of "upto" I suppose.
Now to the question about coexpressions. Attached below is an ASCII
file which came directly out of a Tektronix scope. It gives parameters
for trace data. I am interested to pull out, as real numbers, the
parameters for the x and y scales on the scope. I want to assign these
numbers to variables in Icon.
I can define a coexpression for the substrings,
params := create ("XMULT:" | "XZERO:" | "YMULT:" | "YZERO:")
and following the Icon book, we can write
every (xmult | xzero | ymult | yzero) := <...do something here...>
where the right hand side would involve @params.
The problem is, I don't know what the r.h.s should be. Help!
I could simply put four separate scanning constructs in my code, one for
each variable of interest. I would rather learn how to exploit Icon's
coexpressions to make the code compact.
Best regards,
Mark Evans <evans@gte.net>
--------------3C6B6947244B
Content-Type: text/plain; charset=us-ascii; name="Sarpre.txt"
Content-Disposition: inline; filename="Sarpre.txt"
Content-Transfer-Encoding: 7bit
WFMPRE WFID:STO1,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:06:30",DATE:" 2-DEC-98";WFMPRE WFID:STO2,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:06:51",DATE:" 2-DEC-98";WFMPRE WFID:STO3,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:07:09",DATE:" 2-DEC-98";WFMPRE WFID:STO4,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,!
XU!
NIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:07:24",DATE:" 2-DEC-98";WFMPRE WFID:STO5,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:07:38",DATE:" 2-DEC-98";WFMPRE WFID:STO6,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:07:50",DATE:" 2-DEC-98";WFMPRE WFID:STO7,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:08:31",DATE:" 2-DEC-98";WFMPRE WFID:STO8,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRV!
CH!
K:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:08:43",DATE:" 2-DEC-98";WFMPRE WFID:STO9,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:09:00",DATE:" 2-DEC-98";WFMPRE WFID:STO10,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:09:19",DATE:" 2-DEC-98";WFMPRE WFID:STO11,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0!
,T!
IME:"14:09:36",DATE:" 2-DEC-98";WFMPRE WFID:STO12,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:09:50",DATE:" 2-DEC-98";WFMPRE WFID:STO13,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:10:06",DATE:" 2-DEC-98";WFMPRE WFID:STO14,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:10:22",DATE:" 2-DEC-98";WFMPRE WFID:STO15,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0!
.0!
E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:10:43",DATE:" 2-DEC-98";WFMPRE WFID:STO16,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:11:02",DATE:" 2-DEC-98";WFMPRE WFID:STO17,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:11:21",DATE:" 2-DEC-98";WFMPRE WFID:STO18,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:11:41",DATE:" 2-DEC-98";WFMPRE WFID:STO19,LABEL:"",BIT!
/N!
R:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:11:57",DATE:" 2-DEC-98";WFMPRE WFID:STO20,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:12:47",DATE:" 2-DEC-98";WFMPRE WFID:STO21,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:13:07",DATE:" 2-DEC-98";WFMPRE WFID:STO22,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8!
,Y!
MULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:13:33",DATE:" 2-DEC-98";WFMPRE WFID:STO23,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:14:12",DATE:" 2-DEC-98";WFMPRE WFID:STO24,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:16:53",DATE:" 2-DEC-98";WFMPRE WFID:STO25,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:17:09",DATE:" 2-DEC-98";WFMPRE WFID:STO26,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.!
PT!
:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:17:27",DATE:" 2-DEC-98";WFMPRE WFID:STO27,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:17:49",DATE:" 2-DEC-98";WFMPRE WFID:STO28,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:18:19",DATE:" 2-DEC-98";WFMPRE WFID:STO29,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:18:42",DATE:"!
2!
-DEC-98";WFMPRE WFID:STO30,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:19:07",DATE:" 2-DEC-98";WFMPRE WFID:STO31,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:19:29",DATE:" 2-DEC-98";WFMPRE WFID:STO32,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:19:51",DATE:" 2-DEC-98";WFMPRE WFID:STO33,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMU!
LT!
:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:20:36",DATE:" 2-DEC-98";WFMPRE WFID:STO34,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:22:39",DATE:" 2-DEC-98";WFMPRE WFID:STO35,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:23:24",DATE:" 2-DEC-98";WFMPRE WFID:STO36,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR:2,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:23:52",DATE:" 2-DEC-98";WFMPRE WFID:STO37,LABEL:"",BIT/NR:16,BN.FMT:RI,BYT/NR!
:2!
,BYT.OR:LSB,CRVCHK:NONE,ENCDG:ASCII,NR.PT:512,PT.FMT:Y,RHOFACTOR:1.0E+0,RHOPOS:0.0E+0,XINCR:4.0E-12,XMULT:1.5625E-4,XUNIT:SECONDS,XZERO:4.913E-8,YMULT:1.5625E-6,YUNIT:VOLTS,YZERO:0.0E+0,TIME:"14:23:55",DATE:" 2-DEC-98"
--------------3C6B6947244B--